提醒:由於看到這系列鐵人訂閱人數漸漸變多,標記一下這些內容是在「非常萌新時期」所寫,更多技術內容請參考我的 Github,歡迎跟我一起討論 ^ ^
今天繼續完成剩下的部分,另外有找到一個還不錯的git教學,可以做個參考。
通常要發布產品時,會有一個對外的版本號,而此時就會使用到 tag 來標記版本。
git tag (名稱) (commit id)
:對指定 commit 添加 tag。-a
或 --annotate
,則可以添加 annotated tag)git tag
:查詢該所有 tag。(-n
可列出 tag 的註解)git push (remote) (名稱)
:將指定 tag 同步到 remote。--tags
,則同步所有 tag):
,可刪除 remote 的 tag)git commit --amend
:可直接修改最新一次的 commit。git revert (commit id)
:將該 commit 反向操作一次,並在末端產生新的 commit。git reset (指定的commit)
:將還原到指定的 commit 時的狀態。
ORIG_HEAD
,因此可以 reset 到 ORIG_HEAD 來還原到 git 動作前的狀態。--soft
:只有 HEAD 還原到該指定 commit 完成後的狀態。--mixed
:index 也一起還原到該指定 commit 完成後的狀態。--hard
:index、work tree 也一起還原到該指定 commit 完成後的狀態。git reset --hard xx
,只能靠Ctrl + Z
大法救回,但如果該文件已經關閉就無法囉。git cherry-pick (指定的commit)
:將該 commit 所做的動作添加到當前 HEAD 之後,並在末端產生新的 commit。git rebase -i (指定的commit)
:--interactive
)(更準確說 rebase -i 是:先 reset 到指定的 commit,而後在編輯器內,一次設定多個各種方式的 cherry-pick。其預設為由上往下照順序執行 pick,依此執行則結果不做任何更動。)
(vi的基本操作可參考昨天文章)
今天在大大的文章中,看到這篇 Oh My Dear JavaScript,覺得他的名字取的真好XD